package com.bridgeintelligent.tag.mapper;

import com.bridgeintelligent.tag.webserver.dim.mgmt.api.DimItem;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * Created by JackCheung on 2019/9/10 3:56 AM.
 */
@Mapper
public interface DimItemMapper {

    /**
     * 根据标签id查找标签项列表
     *
     * @param dimId
     * @return
     */
    List<DimItem> list(@Param("dim_id") String dimId);
    List<DimItem> listHistory(@Param("dim_id") String dimId);
    /**
     * 根据标签id查找标签项列表 根据名称排序
     *
     * @param dimId
     * @return
     */
    List<DimItem> findSortedList(@Param("dim_id") String dimId);

    /**
     * 根据Id删除标签项
     *
     * @param id
     */
    void del(@Param("id") String id);

    /**
     * 根据标签id和标签项编号查询标签项
     *
     * @param dimId
     * @param itemNo
     * @return
     */
    int findOne(@Param("dim_id") String dimId, @Param("item_no") String itemNo);

    /**
     * 新增标签项
     *
     * @param id
     * @param dimId
     * @param itemNo
     * @param itemName
     * @param updateDate
     */
    void add(@Param("id") String id, @Param("dim_id") String dimId, @Param("item_no") String itemNo, @Param("itemName") String itemName, @Param("update_Date") String updateDate);

    /**
     * 更新标签项
     *
     * @param dimItem
     */
    void update(DimItem dimItem);

    /**
     * 批量新增标签项
     *
     * @param items
     */
    void adds(@Param("items") List<DimItem> items);

    void addsFormCombination(DimItem item);

    /**
     * 根据标签id删除标签项
     *
     * @param dimId
     */
    void delByDimId(@Param("dimId") String dimId);

    /**
     * 校验标签项是否重复
     *
     * @param dimItem
     */
    String checkDimItem(DimItem dimItem);

}
